<?php

use think\facade\Route;

/** 后台管理接口 */
Route::group('admin/live/small', function () {
    Route::group(function () {
        // 创建课程-页面
        Route::get('/create', 'create');
        // 创建课程-提交
        Route::post('/create', 'create')->name('course.live.create');
        // 点播列表数据
        Route::get('/list', 'index');

        Route::group('<id>', function () {
            // 修改课程-页面
            Route::get('/edit$', 'update')->name('course.live.edit');
            // 修改课程-提交
            Route::put('$', 'update')->name('course.live.edit');
            // 修改指定字段
            Route::put('edit/<field>', 'editField')->name('course.live.edit'); // 编辑指定字段（ps：如状态）
            // 删除课程-软删除
            Route::delete('$', 'delete')->name('course.live.delete');
            Route::post('finished', 'sectionFinish')->name('course.live.section.finish'); // 完结课时
        })
            ->pattern([
                'id'    => '\d+',
                'field' => '[a-zA-Z_]+',
            ]);
        Route::put('listing', 'listing');// 批量上架
        Route::put('disables', 'disables');// 批量禁用
        Route::delete('deletes/<ids>', 'deletes')->pattern(['ids' => '[\d,]+']);// 批量删除
    })->prefix('\app\course\service\live\admin\LiveSmall@');

    // 课时管理
    Route::group('/<id>/section', function () {
        Route::get('$',             'sectionTree')->name('course.live.section.tree'); // 课时树
        Route::get('<pid>/create$', 'addSection'); // 创建课时
        Route::post('<pid>$',       'addSection'); // 创建课时
        Route::get('<sid>/edit$',   'update'); // 编辑课时
        Route::put('<sid>$',        'update'); // 编辑课时
        Route::put('<sid>/sort$',   'updateSort');      // 编辑课时best_sort字段
        Route::delete('<sid>$',     'delete')->name('course.live.section.delete'); // 删除课时
        Route::get('<pid>$',        'getChildren'); // 课时子集
    })
        ->prefix('\app\course\service\live\admin\LiveSmallSection@')
        ->pattern([
            'id'  => '\d+',
            'pid' => '\d+', // <pid> 父级ID
            'sid' => '\d+', // <sid> 课时ID
        ]);

    /** 小班课学员接口 */
    Route::group('<course_id>/student', function () {
        // 获取学员列表
        Route::get('list',                      'getStudentList')->append(['course_type' => 2]);
        Route::delete('<student_id>/delete',    'removeStudent')->append(['course_type' => 2])->pattern(['student_id' => '\d+']);
    })->prefix('\app\course\service\base\admin\CourseStudent@')->pattern(['course_id' => '\d+']);

    /** 小班课订单 */
    Route::group('order', function () {
        // 订单列表
        Route::get('list', 'index');
        // 订单导出
        Route::post('export', 'export');
    })->prefix('\app\course\service\live\admin\LiveSmallOrder@');
})->middleware(['adminRoute']);
